package trabalho.das.fxml.views.controladores;

import entidades.Cor;
import entidades.Decorador;
import entidades.Textura;
import gestordeentidades.persistance.DataBaseObject;
import java.net.URL;
import java.util.HashMap;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

/**
 * Trabalho DAS - 2014/2015
 * @author a21210380, a21190325, a21210392
 */
public class ControladorInpecaoDecorador implements Initializable {
    private final Decorador decorador;
    
    @FXML
    private Label hardLinha;
    
    @FXML
    private Rectangle softLinha;
    
    @FXML
    private Label hardTexto;
    
    @FXML
    private Rectangle softTexto;
    
    @FXML
    private Label hardTextura;
    
    @FXML
    private Label softTextura;

    public ControladorInpecaoDecorador(Decorador decorador) {
        this.decorador = decorador;
    }
    
    @Override
    public void initialize(URL url, ResourceBundle rb) {
        HashMap<Integer, DataBaseObject> valores = decorador.getValores();
        
        if(valores.containsKey(Decorador.VALOR_COR_LINHA)) {
            Cor l = (Cor)valores.get(Decorador.VALOR_COR_LINHA);
            Color c = new Color(l.getRed(), l.getGreen(), l.getBlue(), l.getOpacity());
            softLinha.setStroke(c);
            softLinha.setFill(c);
        } else {
            hardLinha.setVisible(false);
            softLinha.setVisible(false);
        }
        
        if(valores.containsKey(Decorador.VALOR_COR_TEXTO)) {
            Cor l = (Cor)valores.get(Decorador.VALOR_COR_TEXTO);
            Color c = new Color(l.getRed(), l.getGreen(), l.getBlue(), l.getOpacity());
            softTexto.setStroke(c);
            softTexto.setFill(c);
        } else {
            hardTexto.setVisible(false);
            softTexto.setVisible(false);
        }
        
        if(valores.containsKey(Decorador.VALOR_FUNDO)) {
            softTextura.setText(((Textura)valores.get(Decorador.VALOR_FUNDO)).getCaminhoDoFicheiro());
        } else {
            hardTextura.setVisible(false);
            softTextura.setVisible(false);
        }
        
    }
    
    @FXML
    private void onContinuarPressionado(ActionEvent event) {
        ((Stage) softTextura.getScene().getWindow()).close();
    }
    
}
